Color enhancement is one of the most common processing tasks used in digital displays and video equipment. Color processing and enhancement should be computationally efficient and easy-to-use. The color management is usually performed on digital video data using logic implemented by dedicated hardware implemented on an ASIC. In this environment, color management should be easy to implement and program, should use as few gates as possible and most importantly should not cause undesirable artifacts in the output picture. Because video enhancements are usually judged by visual inspection and the effect they have on viewers, artifacts refer to visually unpleasant portions in an output picture such as loss of details, contouring etc.
Color enhancements are usually performed on data that is in the YCbCr format. Since YCbCr is commonly used for video transmission and interchange this usually obviates the need for color space conversions. The YCbCr format has the advantage that the color information of a pixel is isolated from the brightness or luminance information. Accordingly, color processing is cleanly and/or intuitively defined in YCbCr format and simple to implement as opposed to, for example, data in RGB form.
Conventional color enhancements include the common features of changing brightness, contrast, saturation and hue of the whole picture at one time. In other words, the controls are global across the entire video stream and are independent of pixel color and location. A typical requirement in modern video processing is to selectively adjust different colors in a picture independently of each other. For example, it may be required to make red pixels more yellowish and sky blue pixels more vivid while keeping all other pixels unmodified.
An appreciation of the present invention and its improvements can be obtained by reference to the accompanying drawings, which are briefly summarized below, to the following detailed description of illustrated embodiments of the invention, and to the appended claims.